//
//  EmoticonPackages.swift
//  EmoticonKeyBoard
//
//  Created by apple on 15/12/25.
//  Copyright © 2015年 itcast. All rights reserved.
//

import UIKit
//分组表情的模型
class EmoticonPackages: NSObject {
    var id: String?
    var group_name_cn: String?
    
    
    
    /*
    1.每页的最后一个 添加一个删除按钮
    2.如果每页不足21个表情 需要补足空表情
    */
    lazy var emoticones = [Emoticon]()
    init(id: String, group_name_cn: String,array: [[String: String]]) {
        super.init()
        
        self.id = id
        self.group_name_cn = group_name_cn
        //遍历数组 将数组中的字典  进行模型的转换操作
        //添加单个表情模型
        //增加一个索引的标记
        var index = 0
        for item in array {
            //字典转模型
            let e = Emoticon(dict: item)
            e.id = id
            //添加到数组中
//            print(e)
            emoticones.append(e)
            //1.每页的最后一个 添加一个删除按钮
            index++
            if index == 20 {
                //添加一个删除表情 模型
                let deleteEmoticon = Emoticon(isDelete: true)
                emoticones.append(deleteEmoticon)
                //恢复标记
                index = 0
            }
        }
        
        //插入空表情
        insertEmptyEmoticon()
    }
    
    private func insertEmptyEmoticon() {
        //将分组表情的总数量 和 21 取模
        let delta = emoticones.count % 21
        print(delta)
        if delta == 0 {
            return
        }
        
        for _ in delta..<20 {
            //添加空表情
            emoticones.append(Emoticon(isEmpty: true))
        }
        //添加删除表情
        emoticones.append(Emoticon(isDelete: true))
        
    }
}
